package br.com.hs.nfe.common.enumeration;

/**
 * Enumeração de tipo de origem da mercadoria.
 * @author Ranlive Hrysyk
 */
public enum OrigEnum {

    /**
     * 0 - Nacional
     */
    NACIONAL("0", "Nacional"),
    /**
     * 1 - Estrangeira - Importação direta
     */
    ESTRANGEIRA_IMP_DIRETA("1", "Estrangeira - Importação Direta"),
    /**
     * 2 - Estrangeira - Adquirida no mercado interno
     */
    ESTRANGEIRA_ADQ_MERC_INTERNO("2", "Estrangeira - Adquirida no Mercado Interno");
    private String codigo;
    private String descricao;

    private OrigEnum(String codigo, String descricao) {
        this.codigo = codigo;
        this.descricao = descricao;
    }

    /**
     * Código
     */
    public String getCodigo() {
        return this.codigo;
    }

    /**
     * Descrição
     */
    public String getDescricao() {
        return this.descricao;
    }

    @Override
    public String toString() {
        return getDescricao();
    }

    /**
     * Obtém enum pelo código.
     */
    public static OrigEnum getEnumByCodigo(String string) {
        for (OrigEnum e : values()) {
            if (e.getCodigo().equals(string)) {
                return e;
            }
        }
        return null;
    }
}
